Overview

Each of the points introduced in this overview are discussed in more detail later on.
As mentioned already, the process of generating cross reference information in SNiFF+ differs depending on the programming language being parsed.
In the following, we distinguish between C/C++ and Java, whereby the procedure for Java is analogous for all other non-C/C++ languages supported in SNiFF+.
The following topics are discussed

- Extracting symbol information
How and when parsing is triggered for extracting symbol information is independent of programming language and X-Ref technology, but what happens during parsing is not.
- How the X-Ref subsystems work
The available X-Ref technologies (RAM-based and DB-driven) are contrasted in the context of C/C++ and of Java/other languages, respectively. This should give you an understanding of the internal procedures involved.
- Location of generated X-Ref information
Where and how X-Ref information is stored depends solely on the X-Ref technology used (not on the programming language).
- Working Environments and cross referencing
Because the X-Ref databases are maintained at Working Environment level and shared across Working Environment boundaries, there are a number of points to be aware of. These include database access control (locking) and database maintenance.
- Selecting your preferred X-Ref technology
How to select your preferred X-Ref technology is described at the end of the chapter -- by which time you should have a fair understanding of the issues involved.